The present invention is directed to a technique for encryption and channel encoding of messages to provide both security and reliability of transmission over noisy channels. More particularly, the invention resides in an integrated encryption and coding technique which, without knowing the key to the system, is computationally infeasible to break by a cryptanalyst even with the most sophisticated computer.
The invention combines in an integrated system two independent concepts: (1) error-correction channel coding techniques for reliable and accurate transmission of data or messages; and (2) cryptographic techniques for privacy or security of data or messages which must be protected. The implementation of the two techniques in a single system is not new. A typical block diagram for accurate and secure data transmission over noisy channels is shown in FIG. 1. In this system, the output of the data source 11 is supplied to an encipherer 12 of any well-known design, such as a pseudo-random noise generator, which "scrambles" the input data. The enciphered data is then encoded by a forward-error-correcting code by channel encoder 13 before transmission over the noisy channel 14. The forward-error-correcting code may be either a block code or a tree code, such as a convolutional code, both of which are well known in the art. For details of such codes and techniques of implementing the same, reference may be had to any one of several standard texts in the field of which the following are but examples:
Berlekamp, Elwyn R., Algebraic Coding Theory, McGraw-Hill Book Company (1968).
Peterson, W. Wesley, and E. J. Weldon, Jr., Error-Correcting Codes, 2d Ed., The MIT Press (1972).
Wozencraft, J. M., and I. M. Jacobs, Principles of Communication Engineering, John Wiley & Sons (1965).
At the receiver, the encoded and enciphered data corrupted by channel noise is first decoded by a channel decoder 15 which, if the encoder 13 is a block code encoder, performs what is known in the art as maximum-likelihood decoding or, if the encoder 13 is a convolutional encoder, may be a Viterbi or sequential decoder, both of which are well known in the art. Usually, forward-error-correcting channel codes are employed to reduce the transmission errors caused by channel noise to such an extent that the errors present in the decoded data stream are practically negligible. This decoded data stream is then deciphered by decipherer 16 to reconstitute the original data or message for the data user 17.
While the system shown in FIG. 1 would appear to accomplish the desired objectives in a straightforward manner, there are serious problems in a practical implementation of the system. The separate data encryption and channel coding and corresponding separate channel decoding and deciphering results in an overall system which is both very complex and very costly. Moreover, most cryptosystems require that the encipherer and decipherer maintain synchronization, and this can be a potential weakness of such a cryptosystem.